草庐IT

c++ - 从 CFURLRef 或 CFStringRef 转换为 std::string

全部标签

c - Go 语言使用 C 的内部结构

我希望能够在Go中将一个主机地址(让我们使用“www.google.be”)转换为sockaddr结构,然后在C代码中使用它。使用http://github.com/jbenet/go-sockaddr将主机地址转换为sockaddr_any结构并不难模块。我的代码有效,如下所示:ipAddr,_:=net.ResolveIPAddr("ip","www.google.be")sockAddr:=sockaddrnet.IPAddrToSockaddr(ipAddr)rawSockaddr,socklen,_:=sockaddr.SockaddrToAny(sockAddr)cStru

CGO 我正在传递一个 C 结构,它带有一个指向 go 函数的值的指针,

我很疑惑下面的场景是否需要清理内存?我有一个C函数,它创建一个C结构并将其传递给Go函数。C结构包含一个值数组(使用指针算法)。Go函数填充此数组并返回。在调用C函数中,我将值从C结构中复制出来并且不存储它们。因为这是在Go中创建的,所以垃圾会被收集吗?/*Ccode*/intgo_func(c_struct*s);structc_struct{val*values;size_t*values_cnt;};voidexample_call(){structc_structs;go_func(&s)copy_values(s)}/*gocode*/funcgo_func(c*C.c_st

node.js - 将密码哈希脚本从 GO 转换为 Nodejs

我很难将现有的GO脚本转换为NodeJS。它基本上是一个哈希脚本,它接受2个参数agreedUponKey和salt并返回密码哈希。packagemainimport("fmt""hash""crypto/sha256")funcmain(){varagreedUponKeystringvarsaltstringvarhhash.HashagreedUponKey="giri"salt="XYZabc987"h=sha256.New()h.Write([]byte(agreedUponKey))h.Write([]byte(salt))sha256Sum:=h.Sum(nil)prin

go - 如何转换为 typeof(field)?

给定这样的东西:typeFoostruct{xint}typeFooFoostruct{foo*Foo}typeBarstruct{xint}Foo被隐藏的地方(在我的例子中是由于vendor),我如何创建一个具有有效foo条目的FooFoo结构?如果Foo可用,我可以做foofoo:=&FooFoo{foo:&Foo{5}}甚至foofoo:=&FooFoo{foo:(*Foo)&Bar{5}}但我找不到不提及Foo的方法。我想我需要这样的东西:foofoo:=&FooFoo{foo:(*typeof(FooFoo.foo))&Bar{5}} 最佳答案

golang - 将 [ ] 接口(interface)转换为 [ ] 字符串或连接字符串

如何将[]interface转换为[]strings或将其转换为包含[]interface中所有元素的连接的单个字符串?下面是显示“scope”的精确值的屏幕截图,[]interface类型的长度为2。在下面的代码中,case是“slice”,目前我正在使用reflect进行此操作,但这看起来不太好。想知道应该有一些好的方法来连接界面元素的slice\数组。我也试过像这样使用jsonunmarshall"json.Unmarshal([]byte(jwtResp),&mymap)"但在将jwt.MapClaims转换为byte[]时遇到类型问题parsedkey,_:=jwt.Pars

无法访问cgo中的c变量

我正在尝试访问cgo中的c结构,但是请执行此操作couldnotdeterminekindofnameforC.utmpxutmpx是一个C结构体这是执行代码:/*#include#include#include#include#include*/import"C"typerecordC.utmpxfd,err:=os.Open(C._PATH_UTMPX)//thisworksfd,err:=os.Open(C.UTMPX_FILE)//error在utmpx.h文件中,有#define_PATH_UTMPX"/var/run/utmpx"#defineUTMPX_FILE_PATH

node.js - 如何将加密函数从 golang 转换为 nodejs

我用golang写了一个加密文件功能,但是我不知道如何用nodejs实现它packagemainimport("bytes""crypto/aes""crypto/cipher""crypto/rand""io""io/ioutil""os")funcencrypt(aeskeystring,filenamestring){plaintext,err:=ioutil.ReadFile(filename)iferr!=nil{panic(err.Error())}//Bytearrayofthestringkey:=[]byte(aeskey)//CreatetheAEScipherbl

arrays - 为什么 Go 的 strings.Fields(str) 和 strings.Split(str, "") 这么慢?

我一直在测试Node和Go中的函数以比较它们的性能。几乎在每个测试中,Go都比Node快得多,除了使用strings.Fields()或strings.Split()时,Node是Node的2-3倍快。开始(2.14秒):start:=time.Now()varnewWords[]stringstr:="asdasjhfalsjdhalsdjhfadhfaldhfaljdhfaldhfasjdhfalsdhasdalsdhalksdhalksdhalksdalkjsdfadlkjdalkjdhasdhfefafad6a5a85dfas5da5dada6sd58ad5a8sd5f8as5

string - 二进制字符串转unicode

我不是100%确定为什么我的unicode二进制字符串不起作用..任何人都可以指出问题或帮助我修补它吗?另外,我将二进制文件分块的原因是它对于ParseInt来说太大而无法处理。有关示例,请参见下面的playground链接。funcbinToString(s[]byte)string{varcounterintchunk:=make([]byte,7)varbufbytes.Bufferfori:=ranges{ifi%8==0{counter=0ifi,err:=strconv.ParseInt(string(chunk),2,64);err==nil{buf.WriteStrin

json - 在使用 MongoDB 将文档分配给 Go 中的结构之前如何转换文档?

我正在使用go和mongodb编写多语言API。我有一个mongodb文档,格式为:{_id:ObjectID(bla)"key":{"en":"Hello","es":"Hola"}}但是,API需要报告json格式:{_id:ObjectID(bla),"key":"Hola"}如果客户端发送语言header。有没有简单/有效的方法来做到这一点?我唯一可行的解​​决方案是制作两个单独的结构,然后将它们与一堆switch/case语句合并在一起,例如:varapiMyStructvarmgoMyMgoStructsession.DB("db").C("col").Find(nil).